package reservation;

/**
 * Classe Personne : modélisation d'une personne avec son login
 * 
 * @author Alexandre Boursier and Mamadou Diallo and Cyril Gorrieri and Emmanuel
 *         Menage
 * @version 2012.01.23
 */
public abstract class Personne {
    private String login;

    /**
     * <code> Personne <br> crée une personne à partir de son login </code>
     * @param login
     */
    public Personne(String login) {
        if(login == null || login.length() == 0) throw new IllegalArgumentException("Le login est incorrect");
        this.login = login;
    }

    /**
     * Demande le login de la personne
     * @return le login de la personne
     */
    public String getLogin() {
        return login;
    }

    /**
     * Surcharge de la méthode equals qui sera utilisé dans une liste lorsque la
     * methode Liste.contains(Objet) est appellée
     * 
     * @param obj
     *            L'objet cible
     * @return true si le login referant de l'objet est le même, false
     *         sinon
     */
    @Override
    public boolean equals(Object obj) {
        if(obj instanceof Personne) {
            Personne p = (Personne) obj;
            return login.equals(p.login);
        }
        return false;
    }
}
